home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / string / RCS / strdup.c,v < prev    next >
Text File  |  1991-09-28  |  3KB  |  134 lines

  1. head     1.3;
  2. branch   ;
  3. access   ;
  4. symbols  sprited:1.3.1;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.3
  10. date     91.08.05.16.50.17;  author kupfer;  state Exp;
  11. branches 1.3.1.1;
  12. next     1.2;
  13.  
  14. 1.2
  15. date     91.08.05.16.48.25;  author shirriff;  state Exp;
  16. branches ;
  17. next     1.1;
  18.  
  19. 1.1
  20. date     90.07.08.16.30.08;  author shirriff;  state Exp;
  21. branches ;
  22. next     ;
  23.  
  24. 1.3.1.1
  25. date     91.09.28.19.10.17;  author kupfer;  state Exp;
  26. branches ;
  27. next     ;
  28.  
  29.  
  30. desc
  31. @Unix 5.1 version.
  32. @
  33.  
  34.  
  35. 1.3
  36. log
  37. @Add include's so that strlen() and bcopy() get declared.
  38. @
  39. text
  40. @/*
  41.  * Copyright (c) 1988 The Regents of the University of California.
  42.  * All rights reserved.
  43.  *
  44.  * Redistribution and use in source and binary forms are permitted
  45.  * provided that the above copyright notice and this paragraph are
  46.  * duplicated in all such forms and that any documentation,
  47.  * advertising materials, and other materials related to such
  48.  * distribution and use acknowledge that the software was developed
  49.  * by the University of California, Berkeley.  The name of the
  50.  * University may not be used to endorse or promote products derived
  51.  * from this software without specific prior written permission.
  52.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  53.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  54.  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  55.  */
  56.  
  57. #ifndef lint
  58. static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strdup.c,v 1.2 91/08/05 16:48:25 shirriff Exp Locker: kupfer $ SPRITE (Berkeley)";
  59. #endif /* not lint */
  60.  
  61. #include <bstring.h>
  62. #include <sys/types.h>
  63. #include <stdio.h>
  64. #include <string.h>
  65.  
  66. /*
  67.  *----------------------------------------------------------------------
  68.  *
  69.  * strdup --
  70.  *
  71.  *      Malloc and copy a string.
  72.  *
  73.  * Results:
  74.  *      Returns pointer to the copy of the string.
  75.  *
  76.  * Side effects:
  77.  *      Mallocs space for the new string.
  78.  *
  79.  *----------------------------------------------------------------------
  80.  */
  81.  
  82. char *
  83. strdup(str)
  84.     char *str;
  85. {
  86.     int len;
  87.     char *copy, *malloc();
  88.  
  89.     len = strlen(str) + 1;
  90.     if (!(copy = malloc((u_int)len)))
  91.         return((char *)NULL);
  92.     bcopy(str, copy, len);
  93.     return(copy);
  94. }
  95. @
  96.  
  97.  
  98. 1.3.1.1
  99. log
  100. @Initial branch for Sprite server.
  101. @
  102. text
  103. @d19 1
  104. a19 1
  105. static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strdup.c,v 1.3 91/08/05 16:50:17 kupfer Exp $ SPRITE (Berkeley)";
  106. @
  107.  
  108.  
  109. 1.2
  110. log
  111. @Added comments.
  112. @
  113. text
  114. @d19 1
  115. a19 1
  116. static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strdup.c,v 1.1 90/06/27 11:39:38 shirriff Exp $ SPRITE (Berkeley)";
  117. d22 1
  118. d25 1
  119. @
  120.  
  121.  
  122. 1.1
  123. log
  124. @Initial revision
  125. @
  126. text
  127. @d18 3
  128. a20 3
  129. #if defined(LIBC_SCCS) && !defined(lint)
  130. static char sccsid[] = "@@(#)strdup.c    5.1 (Berkeley) 12/12/88";
  131. #endif /* LIBC_SCCS and not lint */
  132. d24 16
  133. @
  134.